<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 一个新入职，月工资为2000元的员工，每年涨当年工资5%，到退休20年时的月工资是多少？
        var money = 2000;
        var zhang = 0.05;
        for (var i = 0; i < 20; i++) {
            money *= (1 + zhang);
        }
        document.write('入职工资2000,20年后的薪资为' + money + '<br>');

        // 99乘法表
        //  1*1=1                    1                  1
        //  1*2=2  2*2=4             1 2                2
        //  1*3=3  2*3=6  3*3=9      1 2 3              3
        //                           内层循环从头开始    外层循环

        for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {
                document.write(j + 'x' + i + '=' + j * i);
            }
            document.write('<br>')
        }


        // 判断一个数是不是质数。(除了1和它本身以外不再有其他的除数整除。)

        // 求出1 - 1 / 2 + 1 / 3 - 1 / 4…..1 / 100的和
        //    求和   sum=0   
        //    分析    奇数+    偶数-
        // var sum = 0;
        // for (var i = 1; i <= 100; i++) {
        //     if (i % 2) {   // 奇数
        //         sum += 1 / i;
        //     }
        //     else {
        //         sum += -1 / i;
        //     }
        // }
        // document.write(sum + '<br>');

        var sum = 0;
        for (var i = 1; i <= 100; i++) {
            // sum += i % 2 ? 1 / i : -1 / i;

            var j = i % 2 ? 1 : -1;
            sum += j / i;
        }
        document.write(sum + '<br>');


        // 输出所有的水仙花数   三位数   abc == a*a*a + b*b*b + c*c*c
        //   分析   三位数   100-999
        // for (var i = 100; i <= 999; i++) {
        //     var a = parseInt(i / 100);
        //     var b = parseInt(i % 100 / 10);
        //     var c = i % 10;
        //     if (a * a * a + b * b * b + c * c * c === i) {
        //         document.write(i + '&nbsp;');
        //     }
        // }

        //   三位数  
        // 100 101  102  103  104  105  106 107 108  109  
        // 110 111  112
        // 120
        // 130
        for (var i = 1; i <= 9; i++) {
            for (var j = 0; j <= 9; j++) {
                for (var k = 0; k <= 9; k++) {
                    if (i * i * i + j * j * j + k * k * k == '' + i + j + k) {
                        document.write('' + i + j + k + '&nbsp;')
                    }
                }
            }
        }


        // 百鸡百钱   100钱买100鸡    公鸡5    母鸡3    小鸡 1/3
        // 数学问题       公鸡  母鸡   小鸡
        //     排列组合    1     1     1
        //                1     1     2
        //                1     1     3

        for (var i = 1; i <= 20; i++) {
            for (var j = 1; j <= 33; j++) {
                for (var k = 1; k <= 100; k++) {
                    if (i + j + k === 100 && 5 * i + 3 * j + 1 / 3 * k === 100) {
                        document.write('<br>' + '公鸡：' + i + '母鸡：' + j + '小鸡' + k)
                    }
                }
            }
        }

        document.write('<br>');


        // i=1   j=1  k=1
        // i=1   j=1  k=2
        // ...

        // 输出1000-3000之间所有的闰年，每10个换行
        //    条件输出
        //    10个换行    计数
        var count = 0;
        for (var i = 1000; i <= 3000; i++) {
            if (i % 4 === 0 && i % 100 !== 0 || i % 400 === 0) {
                document.write(i + '&nbsp;');
                count++;    // 每输出一个就统计一次
                // 判断
                // if (count === 10) {
                //     document.write('<br>');
                //     count = 0;
                // }

                // 计数器发生改变了才判断
                if (count % 10 === 0) {
                    document.write('<br>');
                }
            }
            // if (count % 10 === 0) {
            //     document.write('<br>');
            // }
        }
        // document.write('<br>' + '总共有' + count + '个闰年');

        document.write('<br>');


        // i=1000  不是   count=0    br
        // i=1001  不是  count=0    br
        // i=1002  不是  count=0    br
        // i=1003  不是  count=0    br
        // i=1004  是    count=1
        // ...
        // i=1040   是   count=10  br
        // i=1041   不是  count=10  br


        // 求两个数的最小公倍数   4 6  12
        //   公倍数：公共的倍数  4 6   12  24  48 ....   最小的是12   没有最大的
        //   4  6     i % 4 === 0   i % 6 === 0
        var n1 = 4;
        var n2 = 6;
        // 从较大的数开始   结束的条件可以不写  也可以写 n1*n2
        for (var i = n1 > n2 ? n1 : n2; i <= n1 * n2; i++) {
            if (i % n1 === 0 && i % n2 === 0) {
                document.write(i);
                // 找到的第一个就是最小公倍数
                break;
            }
        }


        document.write('<br>');


        // 求两个数的最大公约数   12   32  
        //    公约数  1  2  4    
        //  12%1  32%1       1
        //  12%2   32%2      2
        //  12%3   32%3!=0
        //  12%4   32%4      4
        //  ...
        //  12结束   两个数中较小的那一个

        var n1 = 12;
        var n2 = 32;
        // 把结果存入变量中  --- 不断的替换
        var result;
        for (var i = 1; i <= (n1 < n2 ? n1 : n2); i++) {
            if (n1 % i === 0 && n2 % i === 0) {
                // document.write(i);
                result = i;
            }
        }

        document.write(result);

        document.write('<br>');



        // 12   32 
        //  倒着找    第一个就是最大的   一定要break
        var n1 = 12;
        var n2 = 32;
        for (var i = n1 < n2 ? n1 : n2; i >= 1; i--) {
            if (n1 % i === 0 && n2 % i === 0) {
                document.write(i);
                break;
            }
        }








    </script>

</body>

</html>